package cn.iocoder.yudao.module.shop.controller.admin.storerecord.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 库存消耗记录 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ShopStoreRecordBaseVO {

    @Schema(description = "商品名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotNull(message = "商品名字不能为空")
    private String name;

    @Schema(description = "市场价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "9927")
    @NotNull(message = "市场价格不能为空")
    private Integer marketPrice;

    @Schema(description = "成本价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "29959")
    @NotNull(message = "成本价格不能为空")
    private Integer costPrice;

    @Schema(description = "本次变更数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "29959")
    @NotNull(message = "变更数量不能为空")
    private Integer num;

    @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "单位不能为空")
    private String unit;

    @Schema(description = "出货前剩余", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "出货前剩余不能为空")
    private Integer beforeNum;

    @Schema(description = "现在剩余", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "现在剩余不能为空")
    private Integer leftNum;

    @Schema(description = "用途描述", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "用途描述不能为空")
    private String purpose;

}
